#pragma once
#include "Global.h"

namespace DRAW
{
	enum PENTHICK { C6B, C4B, C2B, S6B, S4B, S2B, SHB };		// Curve, Solid
	extern int d_time;

	BOOL EyeLV1(HDC hDC);
	BOOL EyeLV2(HDC hDC);
	BOOL EyeLV3(HDC hDC);

	BOOL FaceLV1(HDC hDC);
	BOOL FaceLV2(HDC hDC);
	BOOL FaceLV3(HDC hDC);

	BOOL PencilLV1 (HDC hDC);
	BOOL PencilLV2 (HDC hDC);
	BOOL PencilLV3 (HDC hDC);
	BOOL PencilLV4 (HDC hDC);
	BOOL PencilLV5 (HDC hDC);
	BOOL PencilLV6 (HDC hDC);
	BOOL PencilLV7 (HDC hDC);
	BOOL PencilLV8 (HDC hDC);
	BOOL PencilLV9 (HDC hDC);
	BOOL PencilLV10(HDC hDC);
	BOOL PencilLV11(HDC hDC);
	BOOL PencilLV12(HDC hDC);
	BOOL PencilLV13(HDC hDC);
	BOOL PencilLV14(HDC hDC);

	BOOL CharcoalLV1 (HDC hDC);
	BOOL CharcoalLV2 (HDC hDC);
	BOOL CharcoalLV3 (HDC hDC);
	BOOL CharcoalLV4 (HDC hDC);
	BOOL CharcoalLV5 (HDC hDC);
	BOOL CharcoalLV6 (HDC hDC);
	BOOL CharcoalLV7 (HDC hDC);
	BOOL CharcoalLV8 (HDC hDC);
	BOOL CharcoalLV9 (HDC hDC);
	BOOL CharcoalLV10(HDC hDC);

	BOOL LineLV1 (HDC hDC);
	BOOL LineLV2 (HDC hDC);
	BOOL LineLV3 (HDC hDC);
	BOOL LineLV4 (HDC hDC);
	BOOL LineLV5 (HDC hDC);
	BOOL LineLV6 (HDC hDC);
	BOOL LineLV7 (HDC hDC);
	BOOL LineLV8 (HDC hDC);
	BOOL LineLV9 (HDC hDC);
	BOOL LineLV10(HDC hDC);
	BOOL LineLV11(HDC hDC);
	BOOL LineLV12(HDC hDC);
	BOOL LineLV13(HDC hDC);
	BOOL LineLV14(HDC hDC);

	BOOL ColorLength(HDC hDC, CList<Point>* ptList, Color color, int length, PENTHICK thk, BOOL isFilter = TRUE);
	BOOL RandColorLength(HDC hDC, CList<Point>* ptList, Color color, int length, PENTHICK thk, BOOL isFilter = TRUE);

	void Curve2BLine(HDC hDC, Pen* pen, CList<Point>* ptList);
	void Curve4BLine(HDC hDC, Pen* pen, CList<Point>* ptList);
	void Curve6BLine(HDC hDC, Pen* pen, CList<Point>* ptList);
	void Solid2BLine(HDC hDC, Pen* pen, CList<Point>* ptList);
	void Solid2BLine(HDC hDC, Pen* pen, Point start, Point end);
	void Solid4BLine(HDC hDC, Pen* pen, CList<Point>* ptList);
	void Solid4BLine(HDC hDC, Pen* pen, Point start, Point end);
};
